﻿using CKS.PLC.Core.Siemens;
using Infrastructure;
using Microsoft.Extensions.DependencyInjection;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.Infrastructure;
using ZR.Model.Models.ProductionControl;
using ZR.ServiceCore.Services;

namespace CKS.PLC.Action.Subscription
{
    public  class SubscribeBase: BasePlcAction {


        public SubscribeBase(DecodeValue decodeValue):base(decodeValue) {
           
        }

        #region Props

        #endregion
        public override void Execute(Dictionary<string, object> execParams) {
            ExecuteAction(execParams);
        }

        /// <summary>
        /// 执行订阅动作的基类方法
        /// 订阅动作的基类，子类可以重写此方法来实现具体的订阅逻辑
        /// 例如：订阅特定的PLC数据点位或执行特定的操作
        /// </summary>
        /// <exception cref="NotImplementedException"></exception>
        public virtual void ExecuteAction(Dictionary<string, object> execParams = null) {
            
            throw new NotImplementedException("ExecuteAction method must be implemented in derived classes.");
        
        }


        #region Methods

       
        #endregion

    }

}
